
// 初始化一个 user store数据模块


export default {
  
  namespaced: true,
  
  // 模块数据容器
  state: () => ({
    address: JSON.parse( uni.getStorageSync('address') || '{}' ),
    // 用户登录token
    token: uni.getStorageSync('token') || '',
    // 用户信息
    userinfo: JSON.parse( uni.getStorageSync('userinfo') || '{}' ),
    // 用户跳转信息
    // {type: '', url: '/pages/xxx/xxx'}
    redirectInfo: null
  }),
  
  // 修改state的方法
  mutations: {
    // 保存用户收获地址
    saveUserAddress(state, address){
      state.address = address
      // console.log()
      this.commit('m_user/saveUserAddressToStorage')
    },
    // 保存用户信息到本地
    saveUserAddressToStorage(state){
      uni.setStorageSync('address', JSON.stringify(state.address))
    },
    // 保存用户信息userinfo
    saveUserinfo(state, userinfo){
      state.userinfo = userinfo
      // console.log()
      this.commit('m_user/saveUserinfoToStorage')
    },
    // 保存用户信息userinfo
    saveUserinfoToStorage(state){
      uni.setStorageSync('userinfo', JSON.stringify(state.userinfo))
    },
    // 保存用户token
    saveToken(state, token){
      state.token = token
      // console.log()
      this.commit('m_user/saveTokenToStorage')
    },
    // 保存用户token
    saveTokenToStorage(state){
      uni.setStorageSync('token', state.token)
    },
    // 保存页面跳转信息
    saveRedirectInfo(state, info){
      state.redirectInfo = info
    }
  },
  
  // getters
  getters: {
    // 拼接详细收获地址
    addr(state) {
      if(Object.keys(state.address).length === 0) return ''
      return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
    }
  }
  
}